package com.beta.backend.gateway.config;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;

/**
 * @description 配置数据
 * @author: zdwang
 * @date 2021/11/29 16:36
 */
@Data
@Component
@RefreshScope
public class GatewayCfgBean {

    /**
     * 是否打印请求信息，管理 GatewayLogFilter 内部逻辑是否生效
     */
    @Value("${logRequest.enable:false}")
    private boolean logRequest;

    /**
     * 关闭会话有效期校验
     */
    @Value("${session.interval.off:false}")
    private boolean sessionIntervalOff;

    /**
     * 会话有效期，超过有效期无新请求强制使bjwt失效，默认30分钟
     */
    @Value("${session.max.interval:1800}")
    private long sessionMaxInterval;

    /**
     * 企微授权生成jwt密钥，一般情况下无需在配置中心配置或修改
     */
    @Value("${auth.jwt.secret:$R#E@W!Q}")
    private String jwtSecret;

    /**
     * 微信授权生成jwt密钥，一般情况下无需在配置中心配置或修改
     */
    @Value("${auth.mp.jwt.secret:$R#E@W!W}")
    private String mpJwtSecret;

    /**
     * 企微授权生成signet密钥，一般情况下无需在配置中心配置或修改
     */
    @Value("${auth.aes.key:12345qazwsx67890}")
    private String authAesKey;

    /**
     *
     */
    @Value("${wx.auth.url:/}")
    private String authUrl;

    /**
     *
     */
    @Value("${gateway.base.url:/}")
    private String gatewayBaseUrl;

    @Value("${datasource.validation.sql:select 1}")
    private String validationSQL;
    /**
     * 是否可以查看配置中心内容
     */
    @Value("${config.view.enable:false}")
    private boolean configEnable;
    /**
     * 是否开启流量统计功能
     */
    @Value("${flow.stat.open:false}")
    private boolean statOpen;

}
